Software Performance Engineering
Self-paced videos, Lifetime access, Study material, Certification prep, Technical support, Course Completion Certificate
Uplatz
Summary
- Reed courses certificate of completion - Free
- Uplatz Certificate of Completion - Free
Add to basket or enquire
Overview
Uplatz offers comprehensive training on Software Performance Engineering and Multicore Programming. This is a video-based online course (self-paced training). You will be awarded Course Completion Certificate at the end of the course.
Software Performance Engineering (SPE) is a systematic, quantitative approach to the cost-effective development of software systems to meet performance requirements. SPE is a software-oriented approach that focuses on architecture, design, and implementation choices.
SPE gives you the information you need to build software that meets performance requirements on time and within budget.
The SPE process begins early in the software development life cycle and uses quantitative methods to identify satisfactory designs and to eliminate those that are likely to have unacceptable performance before developers invest significant time in implementation. SPE continues through the detailed design, coding and performance and load testing phases to predict and manage the performance of the evolving software as well as monitor and report actual performance versus specifications and predictions. SPE methods encompass: performance data collection; quantitative performance analysis techniques; prediction strategies; management of uncertainties; data presentation and tracking; performance testing, stress and load testing, model verification and validation; critical success factors; and performance design principles, patterns and antipatterns.
SPE provides an engineering approach to performance, avoiding the extremes of performance-driven development and "fix-it-later." SPE uses model predictions to evaluate trade-offs in software functions versus hardware costs. The models assist developers in controlling resource requirements by selecting architecture and design alternatives with acceptable performance characteristics. They aid in tracking performance throughout the development process and prevent problems from surfacing late in the life cycle (typically during performance and stress testing).
Features of Software Performance Engineering
SPE is language and platform independent. Performance models are constructed from architectural and design-level information. Thus, SPE works with C++, C# and Java as well as with other object-oriented and non-object-oriented languages. The execution behavior of the software will be different with different languages and platforms. Nevertheless, this is reflected in the resource requirement specifications, not the model structure.
SPE uses deliberately simple models of software processing with the goal of using the simplest possible model that identifies problems with the system architecture, design, or implementation plans. It is relatively easy to construct and solve these models to determine whether the proposed software is likely to meet performance requirements. As the software development process proceeds, we refine the models to more closely represent the performance of the emerging software and re-evaluate performance.
SPE can be easily integrated into the software development process. It has been used with traditional process models, such as the waterfall model. It works especially well with iterative, incremental processes such as the Unified Process. With an iterative, incremental process, you can use SPE techniques to assess and reduce the risk of performance failure at the project outset, and at each subsequent iteration.
Benefits of SPE
- You can deliver that application on time and within budget while meeting your performance requirements - with the first release.
- You can know the hardware capacity requirements for your new application before it is developed.
- Architects know that their architecture will support performance requirements before committing to code.
- Project managers can track the status of performance while the software is being developed.
- Performance specialists have time to run performance tests, load and stress tests without encountering "surprises."
- Risks to achieving performance requirements are identified and addressed early in the process, saving both time and money.
- Software that meets performance requirements is delivered on time and within budget.
Thus, Software performance engineering provides a systematic, cost-effective approach to managing software systems performance. Use of SPE can reduce project costs and eliminate project failures due to performance problems. It can also improve your level of service to customers, reduce business costs, help you use computer resources more efficiently, and improve your competitive position. SPE is sensible, and it works!
Curriculum
Course media
Description
Software Performance Engineering (SPE) and Multicore Programming - Course Syllabus
- Software Performance Engineering
- Introduction to Multicore Programming
- Multithreaded parallelism and Performance Measures
- Analysis of Multithreaded Algorithms
- Issues in Parallelization
- Synchronizing without locks and concurrent data structures
- Cache Complexity
- Montgomery Trick
- Space Vs Time Cache Vs Memory
- Experience in coding high performance numeric libraries
- FFT Based Polynomial Arithmetic on Multicore
- Parallel Programming for Many high-performance Architectures
- Memory Hierarchy Optimization-I
- Memory Hierarchy Optimization-II
- Writing Correct Programs
- Floating Point
- Applications
- Dynamic Scheduling Sorting
- Virtual Machines
- Hypervisor
- Multicore Computing
- Multicore Programming-I
- Multicore Programming-II
- Multicore Programming-III
- Multicore Programming-IV
- Multicore Programming-V
Who is this course for?
Everyone
Requirements
Passion and zeal to learn and succeed!
Career path
- System Performance Engineer
- Software Engineer
- System Engineer & Analyst
- System Administrator
- Cloud Architect & Engineer
- Performance Engineer
- Senior Software Performance Analysis Engineer
- Software Tester
- Embedded Engineer
- Safety Performance Engineer
- Quality Assurance Lead
- Operational Performance Engineer
- Electronics & Communication Engineer
- Software Developer & Programmer
Questions and answers
Currently there are no Q&As for this course. Be the first to ask a question.
Certificates
Reed courses certificate of completion
Digital certificate - Included
Will be downloadable when all lectures have been completed
Uplatz Certificate of Completion
Digital certificate - Included
Course Completion Certificate by Uplatz
Reviews
Currently there are no reviews for this course. Be the first to leave a review.
Legal information
This course is advertised on reed.co.uk by the Course Provider, whose terms and conditions apply. Purchases are made directly from the Course Provider, and as such, content and materials are supplied by the Course Provider directly. Reed is acting as agent and not reseller in relation to this course. Reed's only responsibility is to facilitate your payment for the course. It is your responsibility to review and agree to the Course Provider's terms and conditions and satisfy yourself as to the suitability of the course you intend to purchase. Reed will not have any responsibility for the content of the course and/or associated materials.